﻿using StructureMap.Configuration.DSL;
using SvnDeploy.Service.Cfg;
using SvnDeploy.Service.Impl;

namespace SvnDeploy.Service
{
    public class SvnDeploymentRegistry : Registry
    {
        public SvnDeploymentRegistry()
        {
            For<SvnDeployConfigurationSection>().Use(SvnDeployConfigurationSection.GetConfiguration());
            For<IBackupProvider>().Use<BackupProviderImpl>();
            For<IDeploymentWorker>().Use<DeploymentWorkerImpl>();
            For<IFileSystem>().Use<FileSystemImpl>();
            For<ILog>().Use<EventLogImpl>();
            For<ISvnAdapter>().Use<SvnAdapterImpl>();
            For<IVirtualDirectoryUpdater>().Use<VirtualDirectoryUpdaterImpl>();
            For<IZipAdapter>().Use<ZipAdapterImpl>();
        }
    }
}
